import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

/**
 * Ukázka načtení dat z 16 bitového PNG obrázku
 *
 * @author Ladislav Čmolík
 */
public class ImageLoader {
   public BufferedImage loadImage(String path) {
       try {
            // Vytvoříme objekt File z cesty k obrázku
            File file = new File(path);

            // Načteme obrázek. Pokud soubor neexistuje bude vyhozena 
            // výjimka IOException
            BufferedImage image = ImageIO.read(file);
            
            // Získáme raster načteného obrázku
            /*WritableRaster raster = image.getRaster();
            // Projdeme všechny pixely obrázku a vypíšeme jejich hodnotu
            for(int x = 0; x < image.getWidth(); x++) {
                for(int y = 0; y < image.getHeight(); y++) {
                    // Obrázek je ve stupních šedi (16 bitů na pixel), 
                    // proto bereme pouze první kanál (třetí parametr je 0).
                    int value = raster.getSample(x, y, 0);
                    if(value>255){
                    System.out.printf("Hodnota na souřadnicích (%d, %d) je %d\n", 
                        x, y, value);
                    }
                }
            }*/
            return image;
           
        } catch (IOException ex) {
            ex.printStackTrace();
        }
       return null;
    }
}